home *** CD-ROM | disk | FTP | other *** search
- { multimen.pas -- Demonstrates multiple nested menus }
-
- program Multi;
-
- {$R multimenu.res}
-
- uses WinTypes, WinProcs, WObjects;
-
- const
-
- id_Menu = 100; { Menu resource ID }
- cm_File = 101; { File command ID }
-
- type
-
- MultiApplication = object(TApplication)
- procedure InitMainWindow; virtual;
- end;
-
- PMultiWindow = ^MultiWindow;
- MultiWindow = object(TWindow)
- constructor Init(AParent: PWindowsObject; ATitle: PChar);
- procedure CMFile(var Msg: TMessage);
- virtual cm_First + cm_File;
- end;
-
-
- { MultiApplication }
-
- {- Initialize MultiApplication object's window }
- procedure MultiApplication.InitMainWindow;
- begin
- MainWindow := New(PMultiWindow, Init(nil, 'Multiple Nested Menus'))
- end;
-
-
- { MultiWindow }
-
- {- Construct MultiWindow object }
- constructor MultiWindow.Init(AParent: PWindowsObject; ATitle: PChar);
- begin
- TWindow.Init(AParent, ATitle);
- Attr.Menu := LoadMenu(HInstance, PChar(id_Menu))
- end;
-
- procedure MultiWindow.CMFile(var Msg: TMessage);
- begin
- MessageBox(HWindow, 'Command executed', 'File',
- mb_IconExclamation or mb_Ok);
- end;
-
- var
-
- MultiApp: MultiApplication;
-
- begin
- MultiApp.Init('MultiApp');
- MultiApp.Run;
- MultiApp.Done
- end.
-
-
- {--------------------------------------------------------------
- Copyright (c) 1991 by Tom Swan. All rights reserved.
- Revision 1.00 Date: 4/13/1991
- ---------------------------------------------------------------}
-